package cn.regexp.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Setter
@Getter
@TableName("shop_ingredient_book")
/* 食材表 */
public class ShopIngredientBook {

    public static final int NO = 0;  // 正常
    public static final int YES = 1; // 已删除

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 菜肴名称
     */
    private String goodsName;

    /**
     * 菜肴口味
     */
    private String taste;


    /**
     * 食材id列表
     */
    private String ingredientIds;

    /**
     * 备注
     */
    private String remark;

    /**
     * 预订用户id
     */
    private Long bookUserId;

    /**
     * 预订用户id
     */
    @TableField(exist = false)
    private String bookUsername;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date insertTime;

    /**
     * 是否删除（0否、1是）
     */
    private Integer isDel;

    /**
     * 所需食材名称
     */
    @TableField(exist = false)
    private String ingredientName;

    public List<Long> parseIngredientIds() {
        List<Long> ids = new ArrayList<>();
        if (StringUtils.hasLength(ingredientIds)) {
            String[] split = ingredientIds.split(",");
            if (split.length > 0) {
                for (String s : split) {
                    ids.add(Long.parseLong(s));
                }
            }
        }
        return ids;
    }
}